#include <string>
#include <iostream>
#include <Windows.h>

using namespace std;

int main()
{
	SetConsoleCP(1251);
	setlocale(0, "ru");

    string line, word = "", longestWord="";
	cout << "Введите строку: ";
    getline(cin, line);
	line += ' ';
	int wordsCount = 0, Latin = 0, three = 0, defis = 0, cyrillic = 0;
	bool hasLatin = false;
	for (char ch : line)
	{
		if (ch == ' ') {
			if (word[0] >= 'А' && word[0] <= 'Я' || word[0]=='Ё') {
				cyrillic += 1;
			}
			if (hasLatin == true) {
				Latin += 1;
			}
			if (word.length() > longestWord.length()) {
				longestWord = word;
			}
			wordsCount++;
			if (word.length() <= 3) {
				three += 1;
			}
			word.clear();
			hasLatin = false;
		}
		else {
			if (ch >= 'a' && ch <= 'z' || ch >= 'a' && ch <= 'z') {
				hasLatin = true;
			}
			word += ch;
			
		}
	}
	cout << "Кол-во слов: " << wordsCount << endl;
	cout << "Кол-во слов с заглавной кириллической буквы: " << cyrillic << endl;
	cout << "Кол-во слов содержащих латинский символ: " << Latin << endl;
	cout << "Кол-во слов не превышающих 3 символа: " << three << endl;
	cout << "Кол-во слов в составе которых имеется дефис: " << defis << endl;
	cout << endl;
	cout << "Самое длинное слово: " << longestWord << endl;
	cout << "Длина слова: " << longestWord.length() << endl;
}
